import Vue from 'vue'
import Axios from 'axios'
import { Message } from 'element-ui';
const AXIOS = Axios.create({
  baseURL: 'http://43.138.15.137:7000/api/private/v1',
  timeout: 1000 * 100
})
Vue.prototype.$httpService = AXIOS
AXIOS.interceptors.request.use(config => {
  console.log('请求拦截器', config);
  config.headers.Authorization = localStorage.getItem('token')
  return config
}, err => {
  console.log('请求失败', err);
  return Promise.reject(err)
})
AXIOS.interceptors.response.use(res => {
  console.log('响应拦截器', res);
  let { meta } = res.data
  if (meta.status === 200) {
    Message.success('请求成功')
  } else if (meta.status === 401) {
    Message.error('登录过期')
  } else if (meta.status === 403) {
    Message.error('权限不足')
  } else if (meta.status === 404) {
    Message.error('资源不存在')
    
  } else if (meta.status === 500) {
    Message.error('服务器错误')
  } else if (meta.status === 502) {
    Message.error('网关错误')
  } else if (meta.status === 503) {
    Message.error('服务不可用')
  } else if (meta.status === 504) {
    Message.error('网关超时')
  } else {
    Message.error('未知错误')
  }
  if (meta.status === 400) {
    Message.error('请求参数错误')
  }
  return res.data
}, err => {
  console.log('响应失败', err);
  return Promise.reject(err)
})
export default AXIOS